package com.core.zyyz.pcmc.domain;

import java.util.Date;

import com.core.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.core.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 数据列对象 pcmc_data_column
 *
 * @author LiuFushun
 * @date 2024-10-29
 */
public class PcmcDataColumn extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 表名称 */
    private String tableCode;

    /** 字段编码 */
    private String columnCode;

    /** 字段名称 */
    @Excel(name = "字段名称")
    private String columnName;

    /** 数据域 */
    @Excel(name = "数据域")
    private String domainCode;

    /** 数据类型 */
    @Excel(name = "数据类型")
    private String dataType;

    /** 数据长度 */
    @Excel(name = "数据长度")
    private Integer dataSize;

    /** 数据精度 */
    @Excel(name = "数据精度")
    private Integer dataPrecision;

    /** 是否主键 */
    @Excel(name = "是否主键")
    private String isPrimaryKey;

    /** 是否可为空 */
    @Excel(name = "是否可为空")
    private String isNull;

    /** 实体编码 */
    @Excel(name = "实体编码")
    private String entityCode;

    /** 排序字段 */
    @Excel(name = "排序字段")
    private Integer sortNo;

    /** 说明 */
    @Excel(name = "说明")
    private String DESCRIPTION;

    /** 是否启用 */
    @Excel(name = "是否启用")
    private String isEnabled;

    /** 自 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "自", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDateActive;

    /** 至 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "至", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDateActive;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 最后更新日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateDate;

    /** 最后更新用户编码 */
    @Excel(name = "最后更新用户编码")
    private String lastUpdateBy;

    public void setTableCode(String tableCode)
    {
        this.tableCode = tableCode;
    }

    public String getTableCode()
    {
        return tableCode;
    }
    public void setColumnCode(String columnCode)
    {
        this.columnCode = columnCode;
    }

    public String getColumnCode()
    {
        return columnCode;
    }
    public void setColumnName(String columnName)
    {
        this.columnName = columnName;
    }

    public String getColumnName()
    {
        return columnName;
    }
    public void setDomainCode(String domainCode)
    {
        this.domainCode = domainCode;
    }

    public String getDomainCode()
    {
        return domainCode;
    }
    public void setDataType(String dataType)
    {
        this.dataType = dataType;
    }

    public String getDataType()
    {
        return dataType;
    }
    public void setDataSize(Integer dataSize)
    {
        this.dataSize = dataSize;
    }

    public Integer getDataSize()
    {
        return dataSize;
    }
    public void setDataPrecision(Integer dataPrecision)
    {
        this.dataPrecision = dataPrecision;
    }

    public Integer getDataPrecision()
    {
        return dataPrecision;
    }
    public void setIsPrimaryKey(String isPrimaryKey)
    {
        this.isPrimaryKey = isPrimaryKey;
    }

    public String getIsPrimaryKey()
    {
        return isPrimaryKey;
    }
    public void setIsNull(String isNull)
    {
        this.isNull = isNull;
    }

    public String getIsNull()
    {
        return isNull;
    }
    public void setEntityCode(String entityCode)
    {
        this.entityCode = entityCode;
    }

    public String getEntityCode()
    {
        return entityCode;
    }
    public void setSortNo(Integer sortNo)
    {
        this.sortNo = sortNo;
    }

    public Integer getSortNo()
    {
        return sortNo;
    }
    public void setDESCRIPTION(String DESCRIPTION)
    {
        this.DESCRIPTION = DESCRIPTION;
    }

    public String getDESCRIPTION()
    {
        return DESCRIPTION;
    }
    public void setIsEnabled(String isEnabled)
    {
        this.isEnabled = isEnabled;
    }

    public String getIsEnabled()
    {
        return isEnabled;
    }
    public void setStartDateActive(Date startDateActive)
    {
        this.startDateActive = startDateActive;
    }

    public Date getStartDateActive()
    {
        return startDateActive;
    }
    public void setEndDateActive(Date endDateActive)
    {
        this.endDateActive = endDateActive;
    }

    public Date getEndDateActive()
    {
        return endDateActive;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setLastUpdateDate(Date lastUpdateDate)
    {
        this.lastUpdateDate = lastUpdateDate;
    }

    public Date getLastUpdateDate()
    {
        return lastUpdateDate;
    }
    public void setLastUpdateBy(String lastUpdateBy)
    {
        this.lastUpdateBy = lastUpdateBy;
    }

    public String getLastUpdateBy()
    {
        return lastUpdateBy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("tableCode", getTableCode())
                .append("columnCode", getColumnCode())
                .append("columnName", getColumnName())
                .append("domainCode", getDomainCode())
                .append("dataType", getDataType())
                .append("dataSize", getDataSize())
                .append("dataPrecision", getDataPrecision())
                .append("isPrimaryKey", getIsPrimaryKey())
                .append("isNull", getIsNull())
                .append("entityCode", getEntityCode())
                .append("sortNo", getSortNo())
                .append("DESCRIPTION", getDESCRIPTION())
                .append("isEnabled", getIsEnabled())
                .append("startDateActive", getStartDateActive())
                .append("endDateActive", getEndDateActive())
                .append("createDate", getCreateDate())
                .append("createBy", getCreateBy())
                .append("lastUpdateDate", getLastUpdateDate())
                .append("lastUpdateBy", getLastUpdateBy())
                .toString();
    }
}

